.RTPatch® FAQ

Note: These questions and answers are all technical in nature. Please direct non-technical questions (price, availability) to our Sales Department at sales@pocketsoft.com.


  1. I built a patch, and now I'm test applying it on my system. I get the message "files in new system are already up to date", but they're not.

    PATCH searches in three places for files to update: the update directory specified on the command line (this is the current directory in the absence of the update directory parameter); subdirectories of the update directory; and directories listed on the PATH environment variable. If PATCH finds a new version of a file anywhere in one of these three places, it will not apply the patch for that file. Usually this problem arises when a new version of a file exists on the path. Searching on the path can be disabled with the /NOP switch on the PATCH command line, while searching in subdirectories of the update directory can be disabled with the /NOS switch. Note that this problem only happens when testing patches, because end-users are not going to have new versions on their systems.

  2. I started building a patch <hours, days> ago, and now it is only <percentage> complete.

    Find out the size of the largest single file in the system for which they're building a patch. We need RAM according to the following formula in order to build patches quickly:

    ( 2 * (size of largest single file in system) ) + 2 MB

    If we have less RAM than this, we will build the patch, but as we have to go to a swapfile, build times will increase substantially.

  3. When I link my Windows program that uses PATCHW.DLL, I get an undefined symbol _RTPatchApply.

    The RTPatchApply function, like all Windows API functions, must be declared as extern "C" so that it isn't mangled by the C++ compiler. If you look at the WINDOWS.H file, you will notice that the whole thing is surrounded by the construct:

    extern "C" { }

    The proper declaration for RTPatchApply is:

    extern "C" { RTPatchApply (parameter list) }

  4. Files in my system that are supposed to be added to subdirectories of the update directory get added to the update directory instead.

    If you are using 2.11 or later, use the /s switch on the OLDDIR specification, and the /f switch on the NEWDIR specification. If you are using version < 2.11, you must use the ADDTODIR or ADDWITHFILE commands within a file block in the command file for each file to be added to subdirectories.

  5. I'm <building, applying> a patch, and the following is happening: <behavior that I wouldn't expect>.

    This is a catch-all category that usually involves something tricky like history patching, updating multiple systems, serialization information, and so forth. Fortunately, we can almost always reproduce a certain behavior of either the build or the apply program by setting up a testcase with the same directory structure as yours, but with plain text files. This is because PATCHBLD and PATCH errors almost never arise from problems with specific files, but with the way files are organized in a directory structure. Proceed as follows: prepare an exact description of what is happening, and what you expect to happen instead. Provide us with your command file(s), and and output of a "DIR /S" for both the old directory and the new directory. With this information, we should be able to reproduce the problem. (Note that you rarely need to duplicate all the files in a system to reproduce the problem; one or two at the center of the problem should suffice).

.RTPatch® Support Staff
rtpatch@pocketsoft.com

Back to Main Page


©Copyright 1995, 1996, 1997, Pocket Soft, Inc. All rights reserved.